<template>
	<view class="content" v-if="idfd==1">
		<view class="header">
			<image src="../../static/shilu-login/logo.png"></image>
			<view class="text alpsoftjurnal">
				Anjur{{$t('login.text1')}}
			</view>
		</view>

		<button class="button-login alpsoftjurnal" @click="getUserInfo1()"
			style="margin-top: 90px; font-size: 26upx; color: #fff; height: 80rpx; line-height: 80rpx;">{{$t('login.text2')}}</button>
		<checkbox-group class="uni-list" @change="checkboxChange">
			<checkbox :value="true" :checked="checked" style="transform: scale(0.7);" color="#F85A55"></checkbox>
			<span class="alpsoftjurnal" @click="jumpPage">
				《Anjur <span>{{$t('login.text3')}}</span> 》
			</span>
		</checkbox-group>
	</view>
</template>

<script>

	import util from '../../utils/util';
	export default {
		data() {
			return {
				mobile: '',
				password: '',
				openid: '',
				unionid: '',
				userinfowx: '',
				idfd: 1,
				fxpid: 0,
				checked: false,
				share_reg_id: '',
			};
		},
		onShow() {
			util.setNavTitle()
		},
		onLoad(e) {
			if (e.fxpid) {
				this.fxpid = e.fxpid
				if (e.fxpid > 0) {
					uni.setStorage({
						key: 'fxpid',
						data: e.fxpid
					})
				}
			}
			//#ifdef H5
			var ua = window.navigator.userAgent.toLowerCase();
			if (ua.match(/MicroMessenger/i) == 'micromessenger') {
				this.idfd = 0
				window.open(this.configs.webUrl + '/login.php', "_self")
			}
			//#endif
		},
		methods: {
			checkboxChange(val) {
				console.log(val);
				let value = val.detail.value[0]
				if (typeof value == 'string') {
					this.checked = value == 'true' ? true : false
				} else {
					this.checked = value == true ? true : false
				}
			},
			jumpPage() {
				uni.navigateTo({
					url: '/pages/login/privacy'
				})
			},
			dyxx() {
				//#ifdef MP-WEIXIN
				// uni.requestSubscribeMessage({
				//   tmplIds: ['wAqsuRFgYS9XBJ2OmBgVYgZ-YrpOkS0dfo-WxQuv41c'],
				//   success (res) {
				// 	  /*uni.showModal({
				// 	  	title: '提醒',
				// 	  	content: JSON.stringify(res),
				// 	  	showCancel: false,
				// 	  	confirmText: "确定",
				// 	  	success: function (res) {
				// 	  		if (res.confirm) {
				// 	  			//uni.navigateBack();
				// 	  		} else if (res.cancel) {

				// 	  		}
				// 	  	}
				// 	  });*/
				//   },
				//   fail: (data) => {
				// 	  uni.showModal({
				// 	  	title: '提醒',
				// 	  	content: JSON.stringify(data),
				// 	  	showCancel: false,
				// 	  	confirmText: "确定",
				// 	  	success: function (res) {
				// 	  		if (res.confirm) {
				// 	  			//uni.navigateBack();
				// 	  		} else if (res.cancel) {

				// 	  		}
				// 	  	}
				// 	  });
				//   }
				// })
				//#endif
			},
			async bindLogin() {
				if (!this.checked) {
					uni.showToast({
						title: this.$t("login.error.text1"),
						icon: "none"
					});
					return
				}
				let _this = this
				if (!this.mobile) {
					uni.showToast({
						title: this.$t("login.error.text2"),
						icon: "none"
					});
					this.userfocus = true
					return false;
				}
				if (!this.password) {
					uni.showToast({
						title: this.$t("login.error.text3"),
						icon: "none"
					});
					this.paswfocus = true
					return false;
				}
				let data = {
					'account': this.mobile,
					'password': this.password
				};
				// #ifdef APP-PLUS
				var inf = plus.push.getClientInfo();
				if (inf.clientid) {
					data.clientid = inf.clientid
				}
				if (plus.os.name == 'iOS') {
					data.iostoken = inf.token
				}
				data.issb = plus.os.name
				// #endif

				if (this.openid) {
					data.openid = this.openid;
				}
				let [err, res] = await this.$httpas.get('/api/user/login', data);

				if (!this.$httpas.errorCheck(err, res)) return;

				if (res.data.code === 1) {
					if (res.data.data.userinfo.avatar) {
						var str = res.data.data.userinfo.avatar;
						if (str.indexOf("data:image") != -1) {
							var avatar = '';
						} else {
							if (str.indexOf("http") != -1) {
								avatar = res.data.data.userinfo.avatar;
							} else {
								avatar = this.configs.imgUrl + res.data.data.userinfo.avatar;
							}
						}
					} else {
						var avatar = '';
					}
					uni.setStorage({ //缓存配置信息
						key: 'avatar',
						data: avatar
					})
					uni.setStorage({ //缓存配置信息
						key: 'userinfo',
						data: res.data.data.userinfo
					})
					uni.setStorage({ //缓存配置信息
						key: 'config',
						data: res.data.data.config
					})
					uni.showModal({
						title: this.$t("commmon.text1"),
						content: res.data.msg,
						showCancel: false,
						confirmText: this.$t("commmon.text2"),
						success: function(res) {
							if (res.confirm) {
								//_this.dyxx()

								uni.navigateBack();
							} else if (res.cancel) {

							}
						}
					});
				} else {
					uni.showToast({
						title: res.data.msg,
						icon: "none"
					});
				}

			},
			getUserInfo1() {
				if (!this.checked) {
					uni.showToast({
						title: this.$t("login.error.text1"),
						icon: "none"
					});
					return
				}
				var this_ = this
				//console.log("aaaa")
				uni.getUserProfile({
					desc: 'Wexin', // 这个参数是必须的
					success: res => {
						console.log(res);
						this_.userinfowx = res.userInfo
						this_.wxlogin()
					},
					fail: err => {
						console.log(err)
					}
				})
			},
			getuserinfo: function() {
				uni.showLoading({
					title: this.$t("commmon.text3")
				});
				var this_ = this
				// wx登录
				wx.login({
					success(res) {
						if (res.code) {
							//发起网络请求
							var code = res.code
							// 获取微信用户信息
							wx.getUserInfo({
								success: function(res) {
									this_.userinfowx = res.userInfo
									this_.wxlogin()
								},
								fail: res => {
									// 获取失败的去引导用户授权 
								}
							})

						} else {

						}
					}
				})
			},
			wxlogin() {
				var userinfowx = this.userinfowx
				var this_ = this
				uni.login({
					timeout: 10000,
					provider: 'weixin', //如果是uniapp，在这里需要标明平台的类型，支持的参数请查阅uniapp官网的uni.login()文档
					success: (res) => {
						console.log(res);
						//登陆成功的回调
						uni.hideLoading();
						uni.request({
							url: this.configs.webUrl + '/api/user/getOpenid',
							method: 'GET',
							data: {
								//token: uni.getStorageSync("userinfo").token,       //你的小程序的secret,  
								code: res.code //wx.login 登录成功后的code  
							},
							success: (cts) => {
								if (cts.data.code == 1) {
									this_.openid = cts.data.data.openid
									this_.unionid = cts.data.data.unionid
									if (cts.data.msg == '登录成功') {
										this_.logins(cts.data.data)
									} else {
										this_.opsdd(cts.data.data)
									}
									// uni.showModal({
									// 	title: this.$t("commmon.text1"),
									// 	content: this.$t("commmon.text4"),
									// 	showCancel: false,
									// 	confirmText: this.$t("commmon.text2"),
									// 	success: function(res) {
									// 		if (res.confirm) {
									// 			console.log(cts.data.msg);
									// 			if (cts.data.msg == '登录成功') {
									// 				this_.logins(cts.data.data)
									// 			} else {
									// 				this_.opsdd(cts.data.data)
									// 			}
									// 		} else if (res.cancel) {

									// 		}

									// 	}
									// });
								} else {
									uni.showModal({
										title: this.$t("commmon.text1"),
										content: JSON.stringify(cts.data),
										showCancel: false,
										confirmText: this.$t("commmon.text2"),
										success: function(res) {
											if (res.confirm) {
												//uni.navigateBack();
											} else if (res.cancel) {

											}
										}
									});
								}
							},
							fail: (err1) => {
								console.log(err1);
								uni.hideLoading();
							}
						});
					},
					fail: (err) => {
						uni.hideLoading();
					}
				})
			},
			logins(data) {
				if (data.userinfo.avatar) {
					var str = data.userinfo.avatar;
					if (str.indexOf("data:image") != -1) {
						var avatar = '';
					} else {
						if (str.indexOf("http") != -1) {
							avatar = data.userinfo.avatar;
						} else {
							avatar = this.configs.imgUrl + data.userinfo.avatar;
						}
					}
				} else {
					var avatar = '';
				}
				uni.setStorage({ //缓存配置信息
					key: 'avatar',
					data: avatar
				})
				uni.setStorage({ //缓存配置信息
					key: 'userinfo',
					data: data.userinfo
				})
				uni.setStorage({ //缓存配置信息
					key: 'config',
					data: data.config
				})
				if (this.fxpid > 0) {
					uni.switchTab({
						url: '/pages/client/member/index'
					})
				} else {
					uni.navigateBack();
				}

			},
			opsdd(data) {
				this.userinfowx.openid = this.openid
				uni.setStorage({ //缓存配置信息
					key: 'userinfowx',
					data: this.userinfowx
				})
				var urlsa1 = '/pages/login/loginwxxcx?fxpid=' + this.fxpid
				if (data.dltel) {
					urlsa1 = '/pages/login/loginwxxcx?dltel=' + data.dltel + '&fxpid=' + this.fxpid
				}
				uni.navigateTo({
					url: urlsa1
				})
			},
			onGetPhoneNumber(e) {
				var this_ = this
				if (!this.openid) {
					uni.showModal({
						title: this.$t("commmon.text1"),
						content: this.$t("commmon.text5"),
						showCancel: false,
						success: function(res) {
							//this_.getuserinfo()
						}
					});
					return false;
				}
				uni.login({
					timeout: 10000,
					provider: 'weixin', //如果是uniapp，在这里需要标明平台的类型，支持的参数请查阅uniapp官网的uni.login()文档
					success: (res) => {
						console.log(res);
						console.log("onGetPhoneNumber", e);
						uni.request({
							url: this.configs.webUrl + '/api/user/getphone',
							method: 'GET',
							data: {
								openid: this.openid,
								userinfowx: this.userinfowx,
								code: res.code,
								iv: e.detail.iv,
								encryptedData: e.detail.encryptedData,
							},
							success: (cts) => {
								console.log(cts.data);
								uni.showModal({
									title: this.$t("commmon.text1"),
									content: JSON.stringify(cts.data),
									showCancel: false,
									confirmText: "确定",
									success: function(res) {
										if (res.confirm) {
											//uni.navigateBack();
										} else if (res.cancel) {

										}
									}
								});
							},
							fail: (err1) => {
								console.log(err1);
								//失败的回调
							}
						});
					},
					fail: (err) => {
						//登陆失败的回调
					},
				})
			}
		}
	}
</script>

<style>
	page {
		background: #fff;
	}
	.uni-list {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 28rpx;
		font-family: PingFang SC-Semibold, PingFang SC;
		font-weight: 600;
		width: 90%;
		margin: 20px auto;
	}

	.content {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.header {
		border-radius: 50%;
		margin-top: 90px;
		margin-left: auto;
		margin-right: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
	}
	.header .text {
		width: 100%;
		font-size: 46rpx;
		font-family: PingFang SC, PingFang SC;
		font-weight: 600;
		color: #4A4A4A;
		margin-top: 20rpx;
		text-align: center;
	}
	.header image {
		width: 161rpx;
		height: 161rpx;
		border-radius: 50%;
	}

	.list {
		display: flex;
		flex-direction: column;
		padding-top: 50rpx;
		padding-left: 70rpx;
		padding-right: 70rpx;
	}

	.list-call {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		height: 100rpx;
		color: #333333;
		border-bottom: 0.5px solid #e2e2e2;
	}

	.list-call .img {
		width: 30rpx;
		height: 40rpx;
	}

	.list-call .sl-input {
		flex: 1;
		text-align: left;
		font-size: 32rpx;
		margin-left: 16rpx;
	}

	.button-login {
		color: #FFFFFF;
		font-size: 34rpx;
		width: 470rpx;
		height: 100rpx;

		background: linear-gradient(90deg, #FF8E3B 0%, #F8524F 100%);
		border-radius: 50rpx;
		line-height: 100rpx;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		margin-top: 100rpx;
	}

	.button-login1 {
		color: #FFFFFF;
		font-size: 34rpx;
		width: 470rpx;
		height: 80rpx;
		border-radius: 50rpx;
		line-height: 80rpx;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		margin-top: 30rpx;
		color: #fff;
	}

	.button-hover {}

	.agreenment {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		font-size: 30rpx;
		margin-top: 80rpx;
		color: #FFA800;
		text-align: center;
		height: 40rpx;
		line-height: 40rpx;
	}

	.agreenment text {
		font-size: 24rpx;
		margin-left: 15rpx;
		margin-right: 15rpx;
	}
</style>